<?php
/**
 *
 * ============================================================================
 * * 版权所有 度拉拉 * *
 * 网站地址: http://www.dlltrip.com
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和
 * 使用；不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * Author By: 倪宗锋
 * PhpStorm PayService.php
 * Create By 2017/3/3 19:53 $
 */

namespace common\service\pay;

class PayService
{
    /**
     * Des:扫码支付
     * Name: sao
     * @param $params array order_id:订单ID name：订单名称  total_fee：总金额-元
     * @param int $type 1、微信2、支付宝
     * @return array
     * @author 倪宗锋
     */
    public static function sao($params, $type = 1)
    {
        if ($type == 1) {
            $pay = new WeChatPay();//微信支付类
        } else {
            $pay = new AliPay();//支付宝支付类
        }
        $return = $pay->unifiedOrderByOrderIdForSao($params);
        return $return;
    }

    /**
     * Des:取消订单
     * Name: cancel
     * @param $params array order_id:订单ID name：订单名称  total_fee：总金额-元  refund_fee退款金额 app_id 公账号或微信appid
     * @param int $type 1、微信 2、支付宝 3、余额支付
     * @return array
     * @author 倪宗锋
     */
    public static function cancel($params, $type)
    {
        if ($type == 1) {//微信支付
            $pay = new WeChatPay();
            $return = $pay->cancelOrder($params);
        } elseif ($type == 2) {//阿里支付
            $pay = new AliPay();
            $return = $pay->cancelOrder($params);
        } else {//余额支付
            $pay = new FxAmount();
            $return = $pay->cancelOrder($params);
        }
        return $return;
    }

    /**
     * Des: 直接付款
     * Name: pay
     * @param $params array
     * $order_id string 订单表 订单ID
     * $name string 产品名称
     * $total_fee int 总金额 单位元
     * $openid string 用户opendid
     * @param $type 1微信 2支付宝
     *
     * @return array
     * @author 倪宗锋
     */
    public static function pay($params,$type = 1)
    {
        if($type == 1) {
            $pay = new WeChatPay();//微信支付类
        }else {
            $pay = new AliPay();//支付宝支付类
        }
        $return = $pay->webPay($params);
        return $return['data']['payData'];
    }


    /**
     * Des: 支付 目前只支持微信直接支付
     * Name: pay
     * @param $orderId string 订单ID
     *
     * @return array
     * @author 倪宗锋
     */
    public static function checkIsPay($orderId)
    {
        $pay = new WeChatPay();
        $return = $pay->checkIsPay($orderId);
        return $return;
    }
}